Neural networks have been loosely analogized to biological systems such as those present in the brain or nervous system in which many neurons are interconnected by a complex network capable of carrying information. Neural networks may be simulated by digital systems such as computers, and are based on parallel architectures which are generally characterized by: simple processing elements, highly interconnected configuration of the elements, the elements exchanging many simple messages and preferably adaptive interconnection between the elements. Once a neural network is established, for example using hundreds or thousands of simple elements and interconnections, it can greatly benefit from a stored library of knowledge using learning rules. A neural network adapts by changing the weights accorded to interconnections by an amount proportional to the difference between a desired output and an actual output of some portion of the network. Such systems can be useful in situations where drawing on a knowledge base as well as learning in real-time can be used to make future decisions. A more complete description of neural networks and learning algorithms can be found elsewhere, and is an evolving art. However, those skilled in the art are aware of various techniques for constructing and simulating neural networks and the many machine learning and artificial intelligence algorithms which apply thereto.
Furthermore, the problem of searching large spaces for specific information is a growing problem in many fields, including communications, genomics, proteomics and military operations. The recent success by industry in sequencing genomes using large-scale parallel computing among relatively simple machines is testament to the power of coordinated search efforts. Small mobile communication systems for surveillance and other tasks face similar challenges in (a) identifying features of complex data sets (e.g. targets) and (b) coordinating the activities of multiple search vehicles using limited bandwidth.